package shopping.set;

import shopping.entity.User;

import java.util.*;


public class TestSet {
    public static void main(String[] args) {
        //集合泛型化
        Set<User> userSet = new HashSet<User>() {
        };

        //创建三个用户
        User u1 = new User("u00001","赵子锐","123456","管理员",'男',"大同");
        User u2 = new User("u00002","张三","123456","管理员",'女',"太原");
        User u3 = new User("u00003","李四","123456","管理员",'男',"北京");

        //向集合内添加
        userSet.add(u1);
        userSet.add(u2);
        userSet.add(u3);
        userSet.add(u1);//重复的
        userSet.add(null);//空对象也可以正常添加进去
        //遍历集合

        //第一种方式：普通的for循环
        //List是有索引 有顺序的
        System.out.println("第一种遍历集合的方式：普通的for循环");
        Object[] users = userSet.toArray();
        for (int i = 0; i < users.length ; i++){
            System.out.println(users[i]); //重复的用户也遍历了
        }

        System.out.println();

        //第二种方式：特有的for循环
        System.out.println("第二种遍历集合的方式：特有的for循环");
        for (User u: userSet) {
            System.out.println(u); //重复的用户仍然遍历出现
        }

        System.out.println();

        //第三种方式：迭代器
        System.out.println("第三种遍历集合的方式：迭代器");
        Iterator<User> iter = userSet.iterator();
        while (iter.hasNext()){
            System.out.println(iter.next()); //重复的用户遍历出现
        }
    }
}
